﻿using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Threading;
using System.Threading.Tasks;

namespace Sustainalytics.Reporting.BusinessLogic
{
    public interface IMongoDbContext
    {
        Task<List<T>> List<T>(Expression<Func<T, bool>> filter, CancellationToken cancellationToken);

        Task<Dictionary<TKey, TSource>> Dictionary<TKey, TSource>(Expression<Func<TSource, bool>> filter,
            Func<TSource, TKey> keySelector, CancellationToken cancellationToken);

    }
}
